Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow

نویسندگان

  • Jang-Wu Jo
  • Byeong-Mo Chang
چکیده

A control flow graph represents all the flows of control that may arise during program execution. Since exception mechanism in Java induces flows of control, exception induced control flow have to be incorporated in control flow graph. In the previous research to construct control flow graph, they compute exception flow and normal flow at the same time while computing control flow information. In this paper, we propose a method to construct control flow graph by computing separately normal flow and exception flow. We show that normal flow and exception flow can be safely decoupled, hence these two flows can be computed separately. We propose the analysis that estimates exception-induced control flow, and also propose exception flow graph that represents exception induced control flows. We show that a control flow graph can be constructed by merging an exception flow graph onto a normal flow graph.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Estimating Exception-Induced Control Flow for Java

Exception analyses so far cannot provide information on the propagation of thrown exceptions, which is necessary to construct interprocedural control flow graph, visualize exception propagation, and slice exception-related parts of programs. In this paper, we propose a set-based analysis, which estimates exception propagation of Java programs. To formalize exception propagation, we first descri...

متن کامل

Alias Analysis for Exceptions in Java

We propose a flow-sensitive alias analysis algorithm that computes safe and efficient alias sets in Java. For that, we propose a references-set representation of aliased elements, its type table, and its propagation rules. Also, for an exception construct, we consider try/catch/finally blocks as well as potential exception statement nodes while building a control flow graph. Finally, for the sa...

متن کامل

Sound Control-Flow Graph Extraction for Java Programs with Exceptions

We present an algorithm to extract control-flow graphs from Java bytecode, considering exceptional flows. We then establish its correctness: the behavior of the extracted graphs is shown to be a sound over-approximation of the behavior of the original programs. Thus, any temporal safety property that holds for the extracted control-flow graph also holds for the original program. This makes the ...

متن کامل

Assessing the Cost-Benefits of Using Type Inference Algorithms to Improve the Representation of Exceptional Control Flow in Java

Accurate representations of program control flow are important to the soundness and efficiency of program analysis and testing techniques. The Java programming language has introduced structured exception handling features that complicate the task of constructing safe and precise representations of the possible control flow in Java programs. Prior work has considered applying various type infer...

متن کامل

Efficient and Effective Handling of Exceptions in Java Points-to Analysis

A joint points-to and exception analysis has been shown to yield benefits in both precision and performance. Treating exceptions as regular objects, however, incurs significant and rather unexpected overhead. We show that in a typical joint analysis most of the objects computed to flow in and out of a method are due to exceptional control-flow and not normal call-return control-flow. For instan...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004